Systems for synchronizing data between a mobile device and a remote server are known in this field. However, a typical mobile device has limited memory resources for storing application data. It may not, therefore, always be feasible to maintain a complete set of application data on both the mobile device and the remote server.